<?php

namespace Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * Attempt
 *
 * @ORM\Table(name="attempt")
 * @ORM\Entity
 */
class Attempt
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="bigint", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    protected $id;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="attempt_on", type="datetime", nullable=false)
     */
    protected $attemptOn;

    /**
     * @var boolean
     *
     * @ORM\Column(name="success", type="boolean", nullable=false)
     */
    protected $success;

    /**
     * @var integer
     *
     * @ORM\Column(name="number_of_bullets", type="integer", nullable=false)
     */
    protected $numberOfBullets;

    /**
     * @var string
     *
     * @ORM\Column(name="reason", type="string", length=250, nullable=true)
     */
    protected $reason;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="last_modified", type="datetime", nullable=false)
     */
    protected $lastModified;

    /**
     * @var \Entity\User
     *
     * @ORM\ManyToOne(targetEntity="Entity\User")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="user_id_hitman", referencedColumnName="id")
     * })
     */
    protected $userHitman;

    /**
     * @var \Entity\User
     *
     * @ORM\ManyToOne(targetEntity="Entity\User")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="user_id_target", referencedColumnName="id")
     * })
     */
    protected $userTarget;


    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set attemptOn
     *
     * @param \DateTime $attemptOn
     * @return Attempt
     */
    public function setAttemptOn($attemptOn)
    {
        $this->attemptOn = $attemptOn;
    
        return $this;
    }

    /**
     * Get attemptOn
     *
     * @return \DateTime 
     */
    public function getAttemptOn()
    {
        return $this->attemptOn;
    }

    /**
     * Set success
     *
     * @param boolean $success
     * @return Attempt
     */
    public function setSuccess($success)
    {
        $this->success = $success;
    
        return $this;
    }

    /**
     * Get success
     *
     * @return boolean 
     */
    public function getSuccess()
    {
        return $this->success;
    }

    /**
     * Set numberOfBullets
     *
     * @param integer $numberOfBullets
     * @return Attempt
     */
    public function setNumberOfBullets($numberOfBullets)
    {
        $this->numberOfBullets = $numberOfBullets;
    
        return $this;
    }

    /**
     * Get numberOfBullets
     *
     * @return integer 
     */
    public function getNumberOfBullets()
    {
        return $this->numberOfBullets;
    }

    /**
     * Set reason
     *
     * @param string $reason
     * @return Attempt
     */
    public function setReason($reason)
    {
        $this->reason = $reason;
    
        return $this;
    }

    /**
     * Get reason
     *
     * @return string 
     */
    public function getReason()
    {
        return $this->reason;
    }

    /**
     * Set lastModified
     *
     * @param \DateTime $lastModified
     * @return Attempt
     */
    public function setLastModified($lastModified)
    {
        $this->lastModified = $lastModified;
    
        return $this;
    }

    /**
     * Get lastModified
     *
     * @return \DateTime 
     */
    public function getLastModified()
    {
        return $this->lastModified;
    }

    /**
     * Set userHitman
     *
     * @param \Entity\User $userHitman
     * @return Attempt
     */
    public function setUserHitman(\Entity\User $userHitman = null)
    {
        $this->userHitman = $userHitman;
    
        return $this;
    }

    /**
     * Get userHitman
     *
     * @return \Entity\User 
     */
    public function getUserHitman()
    {
        return $this->userHitman;
    }

    /**
     * Set userTarget
     *
     * @param \Entity\User $userTarget
     * @return Attempt
     */
    public function setUserTarget(\Entity\User $userTarget = null)
    {
        $this->userTarget = $userTarget;
    
        return $this;
    }

    /**
     * Get userTarget
     *
     * @return \Entity\User 
     */
    public function getUserTarget()
    {
        return $this->userTarget;
    }
}
